The present invention is related to simple network management protocol (SNMP) functions and, in particular, to a translation mechanism whereby SNMP protocol data units (PDUs) are converted to database records for use by SNMP agents.
The simple network management protocol (SNMP) is a network management standard protocol created, at least in part, under the guidance of the Internet Task Forces of the International Standards Organization. The SNMP operates within a network management system and is used to convey information about network elements among various xe2x80x9cagentsxe2x80x9d in the system and a managing process. Within the SNMP hierarchy, the agents report to the managing process on the status of their respective managed network elements. In turn, the agents receive directions from the managing process on actions to perform on those network elements. A management information base (MIB) is used by the agents and the managing process to determine the structure and content of management information concerning the network elements. In other words, the MIB describes the managed network elements. The network elements may be represented by managed objects and may be hardware elements such as switches, private branch exchanges (PBXs), port carts within a switch or PBX, workstations, etc., or software elements such as queuing algorithms, buffer management routines, traffic policing routines, etc.
As illustrated in FIG. 1, within an SNMP framework, a managing system 10 directs the actions of a managed system 12. The managed system 12 includes a remote manager 14 in addition to a number of managed objects 16. The remote manager 14 generally includes an agent 18, called an SNMP master agent, which is responsible for receiving network management messages 20 from a managing process 22 associated with the managing system 10 and ensuring that proper access control measures are taken regarding the managed objects 16. The agent 18 may also be responsible for providing and controlling local logging operations and for making decisions about whether messages are to be returned to Managing process 22. The messages 20 which may be passed between the managing process 22 and the agent 18 (and those which may be returned by the agent 18) take the form of protocol data units (PDUs).
As discussed above, the managed objects 16 are representations of how a network resource can be managed by the management protocol; they are not xe2x80x9cthingsxe2x80x9d themselves. Instead, the managed objects 16 are abstractions of physical or logical network elements. Each managed object 16 can be described (defined) by attributes, which are characteristics or properties, at its interface; operations which can be performed on it; notifications or reports it is allowed to make; and its behavior in response to those operations. The attributes of each managed object 16 distinguish it from other managed objects within the network. Thus, the attributes describe the characteristics, current state, and operating conditions of the managed object 16. Associated with each attribute is an attribute value, e.g., a card in a switch may be described by an attribute called xe2x80x9cstatusxe2x80x9d which may have values of xe2x80x9coperationalxe2x80x9d and xe2x80x9cnot operationalxe2x80x9d. Thus, each attribute consists of a xe2x80x9ctypexe2x80x9d and one or more values.
SNMP uses a relatively limited set of operations to perform its management functions. For example, xe2x80x9cGetsxe2x80x9d are used to retrieve information and xe2x80x9cSetsxe2x80x9d are used to modify information. Each Get request includes an identifier to distinguish it from other requests and to identify the network element about which information is requested. Gets are answered with a xe2x80x9cGet Responsexe2x80x9d which includes an identifier to associate it with the appropriate Get request and the data requested thereby. Sets are used to describe an action to be performed on a network element, e.g., to change a value. In addition, xe2x80x9cTrapsxe2x80x9d may be used to report unusual conditions or to change the status of a network element.
The management information base (MIB) is one of the most important components of the network management system because it identifies the network elements (i.e., it describes the managed objects 16) that are to be managed. The MIB also contains the unique identifiers (addresses) that are to be associated with each managed object 16. The MIB then, is a database that contains information about the managed objects 16. For example, the MIB may contain information about the number of cells or packets sent or received across an interface or the number of connections on a port card of a switch in the network. Further, the MIB contains information that describes each network management user""s ability to access elements of the MIB. For example, one user may have read-only privileges, while another may have read-write privileges.
In general, network management protocols operate on the MIB, rather than directly on the managed objects 16. This level of abstraction allows the managed system 12 or managing system 10 to be ignorant of the database organization of a network element, because it operates only on the MIB, which represents the managed objects 16. The systems operate through the exchange of messages 20 in the form of PDUs and the MIB describes the contents and structure of the fields that must be included within the PDUs. For example, the MIB defines the type and value fields for the Get and Set messages which are passed. The important aspects of the MIB then, are that it defines the network elements that are managed, how the user accesses them and how they can be reported.
FIG. 2 illustrates a conventional method of implementing SNMP in a distributed network. Typically, an SNMP master agent 30, which is part of the managed system 12, is placed on a main processor system and various SNMP sub-agents 32, each with their associated MIBs 34, are placed on (a) secondary processor system(s). An SNMP manager 36 (which generally includes the managing process for the network) exchanges SNMP PDUs (e.g., which may include Get, Set and/or Get Response messages) 38 with the SNMP master agent 30, e.g., to provide control information for the SNMP master agent 30 or an SNMP sub-agent 32 associated therewith or to receive requested values of attributes.
The format of the SNMP PDUs is illustrated in FIG. 3. As shown, each SNMP PDU 38 is encapsulated in a packet 40 which generally comprises a header 42 (e.g., an internet protocol header), which allows for appropriate flow and traffic control and routing within the distributed network, and a CRC field 44, which allows for error checking. The SNMP PDU 38 may thus be regarded as a data packet which generally specifies the address 48 of the object to be controlled (e.g., the SNMP master agent 30 or an associated SNMP sub-agent 32) the desired command (e.g., a Set or Get command) 50 and an appropriate value (e.g., an attribute value for a network element) 52.
In conventional SNMP-controlled networks, the SNMP PDU 38 provided by the SNMP manager 36 to the SNMP master agent 30 must be parsed by the SNMP master agent 30 before it can be provided to an SNMP sub-agent 32. The parsing allows the SNMP master agent 30 to determine the appropriate SNMP sub-agent to receive the command 50 and to reformat the SNMP PDU 38 provided by the SNMP manager 36 to a format which can be recognized by the associated SNMP sub-agent 32. The SNMP master agent 30, upon completion of these operations, packages and transmits a further protocol data unit, referred to as an Agent PDU 54, to the appropriate SNMP sub-agent 32. Even where the command 50 is destined for a network element associated with the SNMP master agent 30, parsing operations are required to identify the address of the intended network object 16.
The Agent PDU 54 generally resembles the SNMP PDU 40 illustrated in FIG. 3 and comprises header and data fields. Again, the data field will generally specify the address of the managed object 16 to be controlled (e.g., in this case a network element associated with the SNMP sub-agent 32), a command and the appropriate value. Upon receipt of the Agent PDU 54, the SNMP sub-agent 32 must parse the Agent PDU 54, e.g., to determine which managed object is being addresses, and then service the associated command.
In addition, the SNMP sub-agent 32 is required to archive the various values associated with each of its managed objects 16 (e.g., as reflected in its associated MIB 34) to a database 56. These archived records may be read by the sub-agent 32 on a re-boot, e.g., to recover a previously stored configuration prior to a power loss or other restart event. The records are generally transferred to the database 56 using Database Record PDUs 58.
All of the parsing operations described above require significant processor overhead. Moreover, the parsing functions must be implemented at both the master agent and sub-agent level, requiring these agents to be relatively complex entities. It would be desirable to implement a network management scheme which avoids these drawbacks.
The present invention provides, in one embodiment, a method which includes receiving, in a first format, a simple network management protocol (SNMP) protocol data unit (PDU) having identification data for an SNMP sub-agent and an SNMP command. The method further includes translating the identification data for the SNMP sub-agent and the SNMP command from the first format to a second format. Further, the identification data and command may be transmitted, in the second format, to the SNMP sub-agent. When received by the SNMP sub-agent, the command may invoke a response.
In a further embodiment, a method is provided wherein information data for an SNMP sub-agent and an SNMP command, each received in the first format as part of an SNMP protocol data unit, is translated from a first format to a second format. The translation may comprise a look-up operation wherein a translation table is accessed.
In yet another embodiment, a network includes a translation table configured to translate SNMP PDUs to database records for use by SNMP agents. The translation table may be stored by an SNMP master agent associated with a managed network which includes the SNMP agents.
These and other features and advantages provided by the present invention will become apparent from a review of the detailed description and its accompanying drawings which follow.